package com.klm.easymq.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 消息实体类
 * @author klm
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("messages")
public class Message {

    /**
     * 消息追踪ID（主键）
     */
    @TableId(value = "trace_id", type = IdType.INPUT)
    private String traceId;

    /**
     * 主题
     */
    private String topic;

    /**
     * 消息内容
     */
    private String content;

    /**
     * 业务键（用于幂等控制）
     */
    private String businessKey;

    /**
     * 状态
     */
    private String status;

    /**
     * 消费时间（毫秒）
     */
    private Long consumeTime;

    /**
     * 错误信息
     */
    private String errorMsg;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;
} 